package com.moji.service;

import com.moji.common.entity.MyPage;
import com.moji.entity.MjOrder;
import com.baomidou.mybatisplus.extension.service.IService;
import com.moji.entity.MjSupportHelp;
import com.moji.entity.dto.AddOrderDto;
import com.moji.entity.dto.QueryOrderDto;
import com.moji.entity.dto.QuerySupportHelpDto;
import com.moji.entity.vo.FinanceOrderVo;
import com.moji.entity.vo.OrderVo;

import javax.servlet.http.HttpServletResponse;

/**
 * <p>
 * 订单表 服务类
 * </p>
 *
 * @author ccl
 * @since 2024-07-27
 */
public interface MjOrderService extends IService<MjOrder> {

    /** 分页查询 **/
    MyPage<MjOrder> queryByPage(QueryOrderDto dto);

    /** 删除 **/
    boolean delete(Long id);

    /** 新增 **/
    boolean add(AddOrderDto addOrderDto);

    /** 编辑 **/
    boolean edit(AddOrderDto addOrderDto);

    /** 详情 **/
    OrderVo detail(Long id);

    /** 修改金额 **/
    boolean editAmount(Long id,String amount);

    /** 取消 **/
    boolean cancel(Long id);
    /** 取消 **/
    boolean shenhe(Long id);

    /** 审核 **/
    boolean audit(Long id);

    /** 驳回 **/
    boolean refuse(Long id);

    /** 财务统计 **/
    MyPage<MjOrder> queryFinanceByPage(QueryOrderDto dto);

    /** 导出 **/
    int reportExport(QueryOrderDto dto, HttpServletResponse response);

    Object test();
    //定时取消订单
    void cancelOrder();
    //订单待支付提醒
    void payOrderNotice();
    //服务到期提醒
    void dueOrderTask();
}
